package vip.liux.contracts.models.pay;

import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import vip.liux.contracts.shared.enums.pay.PayNotifyStatus;
import vip.liux.domain.entities.auditing.CreationAuditedEntity;

@Getter
@Setter
@Entity
@Table(name = "pay_notify_log")
@Accessors(chain = true)
public class PayNotifyLog extends CreationAuditedEntity<Long> {

    /**
     * 通知任务编号
     * <p>
     * 关联 {@link PayNotifyTask#getId()}
     */
    private Long taskId;
    /**
     * 第几次被通知
     * <p>
     * 对应到 {@link PayNotifyTask#getNotifyTimes()}
     */
    private Integer notifyTimes;
    /**
     * HTTP 响应结果
     */
    private String response;
    /**
     * 支付通知状态
     * 枚举 {@link PayNotifyStatus}
     */
    private PayNotifyStatus status;
}
